package cn.openea.perpartner.msg.utils;

import java.util.Arrays;
import java.util.List;
import java.util.Random;

/**
 * @codeDesc:公共组件函数
 * @author: Mr.Yun
 * @QQ: 2034374624
 * @version: V1.0
 * @Created: 2021/08/18 17:10
 */
public class Tools {

    /**
     * 判断字符串是否为空值或去掉前后空格长度为0
     *
     * @param string 要判断的字符串
     * @return 判断结果，true为空，false为非空
     */
    public static boolean isBlank(String string) {
        return (isEmpty(string)) || (string.trim().length() == 0);
    }

    /**
     * 判断字符串是否不为空值
     *
     * @param string 要判断的字符串
     * @return 判断结果，true为非空，false为空
     */
    public static boolean isNotBlank(String string) {
        return !isBlank(string);
    }

    /**
     * 判断字符串是否为null或"null"或长度为0
     *
     * @param string 要判断的字符串
     * @return 判断结果，true为空，false为非空
     */
    private static boolean isEmpty(String string) {
        return (string == null) || (string.equals("null")) || (string.length() == 0);
    }

    /**
     * 获取指定类型的随机字符长度
     * @param type 类型，0表示大写字母，1表示数字，2表示数字与字母混合
     *             如果传类型错误，则默认值为2
     * @param length 长度
     * @return
     */
    public static String getRandom(int type, int length) {
        if(type < 0 || type > 3){
            type = 2;
        }
        StringBuffer sbf = new StringBuffer();
        List<String> charList = Arrays.asList("ABCDEFGHJKLMNOPQRSTUVWXYZ","0123456789","0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");
        String allChar = charList.get(type);
        int charlength = allChar.length();
        Random random = new Random();
        for (int i = 0; i < length; i++) {
            sbf.append(allChar.charAt(random.nextInt(charlength)));
        }
        return sbf.toString();
    }

}
